package site.jlopen.kuscia.service.node;

import site.jlopen.kuscia.entity.GrpcApiInfo;
import site.jlopen.kuscia.model.NodeVo;

public abstract class AbstractNodeManager {
	
	/**
	* <strong>创建节点</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午3:23:06
	 */
	public abstract boolean createNode(GrpcApiInfo apiInfo, String domainId, String masterDomainId);
	
	/**
	* <strong>更新节点</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午3:23:06
	 */
	public abstract void updateNode(GrpcApiInfo apiInfo);
	
	/**
	* <strong>删除节点</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午3:23:06
	 */
	public abstract void deleteNode(GrpcApiInfo apiInfo, String domainId);
	
	/**
	* <strong>查询节点</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午3:23:06
	 */
	public abstract NodeVo queryNode(GrpcApiInfo apiInfo, String domainId) ;
	
	/**
	* <strong>批量查询节点状态</strong>
	* @author ChenJiaLu
	* @date 2024年7月13日 下午3:23:06
	 */
	public abstract void batchQueryNode(GrpcApiInfo apiInfo, String nodeId);
}
